package com.clientmanage.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 客户信息VO
 * 用于前后端数据传输，包含客户、宠物和疫苗信息
 */
@Data
@Getter
@Setter
public class clientInfoVo {
    // 客户基本信息
    @ApiModelProperty("客户ID")
    private String id;
    
    @ApiModelProperty("客户姓名")
    private String name;
    
    @ApiModelProperty("联系电话")
    private String phone;
    
    @ApiModelProperty("地址")
    private String address;
    
    // 会员信息
    @ApiModelProperty("是否会员")
    private Boolean isMember;
    
    @ApiModelProperty("会员等级")
    private String memberLevel;
    
    @ApiModelProperty("积分余额")
    private Integer pointsBalance;
    
    @ApiModelProperty("最后消费日期")
    private LocalDate lastConsumeDate;
    
    @ApiModelProperty("会员状态")
    private String memberStatus;
    
    // 宠物信息列表
    @ApiModelProperty("宠物列表")
    private List<PetInfoVo> pets;
    
    // 宠物详细信息（用于新增/编辑宠物）
    @ApiModelProperty("宠物ID")
    private String petId;
    
    @ApiModelProperty("宠物名称")
    private String petName;
    
    @ApiModelProperty("品种")
    private String breed;
    
    @ApiModelProperty("性别")
    private String gender;
    
    @ApiModelProperty("年龄(月)")
    private Integer ageMonth;
    
    @ApiModelProperty("体重(kg)")
    private BigDecimal weightKg;
    
    @ApiModelProperty("健康状态")
    private String healthStatus;
    
    // 疫苗信息（用于新增/编辑疫苗）
    @ApiModelProperty("疫苗ID")
    private String vaccineId;
    
    @ApiModelProperty("疫苗名称")
    private String vaccineName;
    
    @ApiModelProperty("批次号")
    private String batch;
    
    @ApiModelProperty("接种日期")
    private LocalDate date;
    
    // 升级会员参数
    @ApiModelProperty("客户ID")
    private String customerId;
    
    @ApiModelProperty("会员等级")
    private String memberLevelForUpgrade;
}
